package com.czx.drivingtest.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自定义缓存注解
 * @author koujiaodahan
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface CustomizeCache {
    String key() default "#null";     //键的可变值,比如 shop_id::123,后面的123就是key
    String value();              //键的前缀,比如shop_id::123,前面shop_id部分就是value
    long expireTimes() default 120L; //默认过期时间120s
    int semaphoreCount() default Integer.MAX_VALUE;  //共享锁，并发下允许访问的线程数，用于保护数据库。默认为Integer.MAX_VALUE
}